home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / tutil.arc / EPSON.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1984-06-16  |  3.4 KB  |  146 lines

  1. {.HE OKI.PAS  -  Okidata Microline 84 Mode Program            >>DJS<< }
  2. {.FO                                 Page #}
  3. Program OKI;
  4.  
  5.  
  6. Var
  7.   CLine : String[128] Absolute Cseg:$0080;
  8.   ComLine : String[128];
  9.   Ptr : Integer;
  10.   Command : String[20];
  11.  
  12.  
  13. Procedure ReadCommand;
  14.  
  15. begin
  16.   Command := '';
  17.   While not (ComLine[PTR] in [' ','/']) and (PTR <= Length(ComLine)) do
  18.     begin
  19.       Command := Command + UpCase(ComLine[PTR]);
  20.       PTR := PTR + 1
  21.     end;
  22. end;
  23.  
  24.  
  25. Procedure FormFeed;
  26.  
  27. begin
  28.   Writeln(lst,#12)
  29. end;
  30.  
  31.  
  32. Procedure LPI6;
  33.  
  34. begin
  35.   Write(lst,#027#050);
  36.   Writeln('Printer Set for 6 Lines per Inch')
  37. end;
  38.  
  39.  
  40. Procedure LPI8;
  41.  
  42. begin
  43.   Write(lst,#027#048);
  44.   Writeln('Printer Set for 8 Lines per Inch')
  45. end;
  46.  
  47.  
  48. Procedure CPI10;
  49.  
  50. begin
  51.   Write(lst,#018);
  52.   Writeln('Printer Set for 10 Characters per Inch')
  53. end;
  54.  
  55.  
  56. Procedure CPI12;
  57.  
  58. begin
  59.   Writeln('12 Characters per Inch - Not possible on MX printers!')
  60. end;
  61.  
  62.  
  63. Procedure CPI17;
  64.  
  65. begin
  66.   Write(lst,#015);
  67.   Writeln('Printer Set for 17 Characters per Inch')
  68. end;
  69.  
  70.  
  71. Procedure DP;   {Set Data Processing Mode}
  72.  
  73. begin
  74.   Writeln('Data Processing Mode Not available on MX Printers')
  75. end;
  76.  
  77.  
  78. Procedure CQ;    {Set Correspondence Quality Mode'}
  79.  
  80. begin
  81.   Writeln('Correspondence Quaility Mode Not available on MX Printers')
  82. end;
  83.  
  84.  
  85.  
  86. Procedure DW;    {Set Double Width Character Mode}
  87.  
  88. begin
  89.   Write(lst,#$1F);
  90.   Writeln('Printer Set for Double Width Characters')
  91. end;
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98. {Start of Main Program}
  99.  
  100. begin {Oki}
  101.   Writeln;
  102.   ComLine := CLine;
  103.   If pos('/',ComLine) <1 then
  104.     begin
  105.       Writeln('These Commands are available for the Epson MX printers');
  106.       Writeln;
  107.       Writeln('/6         -   Sets The Printer at 6 Lines per Inch');
  108.       Writeln('/8         -   Sets The Printer at 8 Lines per Inch');
  109.       Writeln('/10        -   Select 10 Characters per Inch');
  110.       Writeln('/17        -   Select 17 Characters per Inch');
  111.       Writeln('/DW        -   Select Double Width Characters');
  112.       Writeln('/FF        -   Move Paper to Top of Form (As Set in Printer)');
  113.       Writeln('/UL nn     -   Underline (nn is ON or OFF)');
  114.       Writeln('/EV        -   Emphasize Vertical');
  115.       Writeln('/EH        -   Emphasize Horizontal');
  116.       Writeln('/F  nn     -   Form Length (nn = Number of Lines)');
  117.       Writeln('/G  nn     -   Form Length (nn = Half Inches)');
  118.       Writeln('/LS nn     -   Line Skip (nn = Number of Lines)');
  119.       Writeln('/ST nnn,.. -   Set Tab Stop (nnn = Column Number)');
  120.       Writeln;
  121.       Writeln('Enter all Commands Desired...');
  122.       Write(#26);
  123.       Readln(ComLine);
  124.     end;
  125.   PTR := 1;
  126.   While PTR < Length(ComLine) do
  127.     begin
  128.       While (PTR < Length(ComLine)) and (ComLine[PTR] <> '/') do PTR := PTR + 1;
  129.       If PTR <> Length(Comline) then
  130.         begin
  131.           PTR := PTR + 1;
  132.           Command := '';
  133.           ReadCommand;
  134.           If Command = 'FF' Then FormFeed
  135.           Else if Command = '10' then CPI10
  136.           Else if Command = '12' then CPI12
  137.           Else if Command = '17' then CPI17
  138.           Else if Command = 'DW' then DW
  139.           Else if Command = '6' then LPI6
  140.           Else if Command = '8' then LPI8
  141.           Else if Command = 'DP' then DP
  142.           Else if Command = 'CQ' then CQ
  143.           Else Writeln('Command ',Command,' not recognized');
  144.         end;
  145.     end;
  146. end.